static unsigned char rdesc[] = {
        0x05, 0x0D,        // Usage Page (Digitizer)
        0x09, 0x05,        // Usage (Touch Pad)
        0xA1, 0x01,        // Collection (Application)
        0x85, 0x04,        //   Report ID (4)
        0x09, 0x22,        //   Usage (Finger)
        0xA1, 0x02,        //   Collection (Logical)
        0x15, 0x00,        //     Logical Minimum (0)
        0x25, 0x01,        //     Logical Maximum (1)
        0x09, 0x47,        //     Usage (0x47)
        0x09, 0x42,        //     Usage (Tip Switch)
        0x95, 0x02,        //     Report Count (2)
        0x75, 0x01,        //     Report Size (1)
        0x81, 0x02,        //     Input (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position)
        0x75, 0x01,        //     Report Size (1)
        0x95, 0x02,        //     Report Count (2)
        0x81, 0x03,        //     Input (Const,Var,Abs,No Wrap,Linear,Preferred State,No Null Position)
        0x95, 0x01,        //     Report Count (1)
        0x75, 0x04,        //     Report Size (4)
        0x25, 0x0F,        //     Logical Maximum (15)
        0x09, 0x51,        //     Usage (0x51)
        0x81, 0x02,        //     Input (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position)
        0x05, 0x01,        //     Usage Page (Generic Desktop Ctrls)
        0x15, 0x00,        //     Logical Minimum (0)
        0x26, 0xC4, 0x09,  //     Logical Maximum (2500)
        0x75, 0x10,        //     Report Size (16)
        0x55, 0x0D,        //     Unit Exponent (-3)
        0x65, 0x11,        //     Unit (System: SI Linear, Length: Centimeter)
        0x09, 0x30,        //     Usage (X)
        0x35, 0x00,        //     Physical Minimum (0)
        0x46, 0x88, 0x13,  //     Physical Maximum (5000)
        0x95, 0x01,        //     Report Count (1)
        0x81, 0x02,        //     Input (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position)
        0x46, 0x10, 0x27,  //     Physical Maximum (10000)
        0x26, 0x88, 0x13,  //     Logical Maximum (5000)
        0x26, 0x88, 0x13,  //     Logical Maximum (5000)
        0x09, 0x31,        //     Usage (Y)
        0x81, 0x02,        //     Input (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position)
        0x05, 0x0D,        //     Usage Page (Digitizer)
        0x15, 0x00,        //     Logical Minimum (0)
        0x25, 0x64,        //     Logical Maximum (100)
        0x95, 0x03,        //     Report Count (3)
        0xC0,              //   End Collection
        0x55, 0x0C,        //   Unit Exponent (-4)
        0x66, 0x01, 0x10,  //   Unit (System: SI Linear, Time: Seconds)
        0x47, 0xFF, 0xFF, 0x00, 0x00,  //   Physical Maximum (65534)
        0x27, 0xFF, 0xFF, 0x00, 0x00,  //   Logical Maximum (65534)
        0x75, 0x10,        //   Report Size (16)
        0x95, 0x01,        //   Report Count (1)
        0x09, 0x56,        //   Usage (0x56)
        0x81, 0x02,        //   Input (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position)
        0x09, 0x54,        //   Usage (0x54)
        0x25, 0x7F,        //   Logical Maximum (127)
        0x95, 0x01,        //   Report Count (1)
        0x75, 0x08,        //   Report Size (8)
        0x81, 0x02,        //   Input (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position)
        0x05, 0x09,        //   Usage Page (Button)
        0x09, 0x01,        //   Usage (0x01)
        0x25, 0x01,        //   Logical Maximum (1)
        0x75, 0x01,        //   Report Size (1)
        0x95, 0x01,        //   Report Count (1)
        0x81, 0x02,        //   Input (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position)
        0x95, 0x07,        //   Report Count (7)
        0x81, 0x03,        //   Input (Const,Var,Abs,No Wrap,Linear,Preferred State,No Null Position)
        0x09, 0xC5,        //   Usage (0xC5)
        0x75, 0x08,        //   Report Size (8)
        0x95, 0x02,        //   Report Count (2)
        0x81, 0x03,        //   Input (Const,Var,Abs,No Wrap,Linear,Preferred State,No Null Position)
        0x05, 0x0D,        //   Usage Page (Digitizer)
        0x85, 0x02,        //   Report ID (2)
        0x09, 0x55,        //   Usage (0x55)
        0x09, 0x59,        //   Usage (0x59)
        0x75, 0x04,        //   Report Size (4)
        0x95, 0x02,        //   Report Count (2)
        0x25, 0x0F,        //   Logical Maximum (15)
        0xB1, 0x02,        //   Feature (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position,Non-volatile)
        0x85, 0x07,        //   Report ID (7)
        0x09, 0x60,        //   Usage (0x60)
        0x75, 0x01,        //   Report Size (1)
        0x95, 0x01,        //   Report Count (1)
        0x15, 0x00,        //   Logical Minimum (0)
        0x25, 0x01,        //   Logical Maximum (1)
        0xB1, 0x02,        //   Feature (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position,Non-volatile)
        0x95, 0x0F,        //   Report Count (15)
        0xB1, 0x03,        //   Feature (Const,Var,Abs,No Wrap,Linear,Preferred State,No Null Position,Non-volatile)
        0x06, 0x00, 0xFF,  //   Usage Page (Vendor Defined 0xFF00)
        0x06, 0x00, 0xFF,  //   Usage Page (Vendor Defined 0xFF00)
        0x85, 0x06,        //   Report ID (6)
        0x09, 0xC5,        //   Usage (0xC5)
        0x15, 0x00,        //   Logical Minimum (0)
        0x26, 0xFF, 0x00,  //   Logical Maximum (255)
        0x75, 0x08,        //   Report Size (8)
        0x96, 0x00, 0x01,  //   Report Count (256)
        0xB1, 0x02,        //   Feature (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position,Non-volatile)
        0xC0,              // End Collection
};
